package com.tedu.api;

import org.junit.Test;

public class PackingAPI {


    @Test
    public void testxxxValue(){

    }
    /**
     * 包装类具备静态方法
     * valueOf（）   返回值：对应数据类型
     * 作用：把包装类转换为基本数据类型的方法
     */
    @Test
    public void testValueof(){
        int i=Integer.valueOf(1);  //打包拆包一体化
        Boolean.valueOf(true);
        char c=Character.valueOf('1');
        Float.valueOf(1.123F);  //1.123默认 double 编译工具
    }
    /** 包装类----------------------------Servlet[JavaBean==实体类]
     * public class Person{
     *     Integer id;   //成员---解析
     * }
     * parseXXX（）     返回值：对应类型
     * 作用：获取到的字符串转换为对应类型
     */
    @Test
    public void testParseXXX(){
        String s="123";    //将字符串转换为整型
        int i=Integer.parseInt(s);//区别:解析字符串，转换为正确类型
        int is=Integer.valueOf(s);//区别：存入值，打包拆包获取值
        System.out.println(i==is);
        //整型转换为字符串
        String s1=String.valueOf(123);//与包装类，用法一致，实现不一致
        //自己测：String s2="456f";   char s=a;
        String s2="456f";
        float f=Float.parseFloat(s2);
        System.out.println(f);
        char s3='a';
        //Character 没有针对字符的解析
    }

    /**
     * 自动拆装箱
     * JDK1.5之前没有自动拆箱子
     * JDK1.5之后自动拆装箱   2004
     *
     */
    @Test
    public void testJ(){
        //JDK1.5之前没有自动拆装箱
        Integer in=Integer.valueOf(1);//装箱
        int ii=in.intValue();  //拆箱
        //JDK1.5之后自动拆装箱
        Integer i=1;
        int is=i;
        //编译器帮我们写了拆装箱过程---JVM虚拟机认1.5之前写法
    }
}
